iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0

第六天我們來學習C++中基本的運算式與運算子~

1.運算式與運算子

運算式是由運算元(operand)與運算子(operator)所組成,運算元可以是常數、變數甚至是函數,而運算子就是數學上的運算符號,如「+」、「-」、「*」、「/」等。
C++提供許多的運算子,這些運算子不但可以處理一般的數學運算外,還可以做邏輯運算、位置運算等、根據運算子所使用的類別,可分為設定、算數、關係、邏輯、遞增與遞減、條件與括號運算子等。

1.1 設定運算子

想讓變數在記憶體中儲存某個值時,可以使用設定運算子(=,assignment operator)

設定運算子 意義
= 設定

等號(=)在C++中並不是「等於」,而是「設定」的意思,如下列程式:

num = 18;    //將整數18設定給num存放

1.2 一元運算子

對於大部分的運算式而言,運算子的前後都會有運算元。有一種運算子很特別,稱為一元運算子(unary operator),他只需要一個運算元。如下列程式:

+63;   //表示正63
~b;    //表示取b的1補數
a=-b;  //表示負b的值設定給變數a存放
!a;    //a的NOT運算,若a為0,則!a為1,若a不為0,則!a為0

下表列出一元運算子的成員:

一元運算子 意義
+ 正號
- 負號
! NOT,否
~ 取1的補數

1.3 算數運算子

在數學上面經常會使用到算術運算子(mathematical opretor),下表列出他們的成員:

算數運算子 意義
+ 加法
- 減法
* 乘法
/ 除法
% 取餘數

1.4關係運算子與if敘述

關係運算子通常與邏輯有關,他會直接影響程式執行的流程,因此if敘述中常會使用到關係運算子,if敘述的格式如下:

if(條件判斷)
  敘述;

下表列出關係運算子的成員的成員:

關係運算子 意義
> 大於
< 小於
>= 大於等於
<= 小於等於
== 等於
!= 不等於

1.5 遞增與遞減運算子

遞增與遞減運算子具有相當大的便利性,他們可以簡潔程式碼。下表列出遞增與遞減運算子的成員:

遞增與遞減運算子 意義
++ 遞增,變數值加1
-- 遞減,變數值減1

用下列程式碼舉例:
一般寫法

i=i+1;    //i加1後再設定給i存放

使用遞增運算子

i++;     //i加1後再設定給i存放,i++為簡潔寫法

1.6 算數與設定運算子的結合

C++還有一些寫法相當簡潔的方式,將算數運算子和設定運算子結合,成為新的運算子
例如下面幾個運算式,皆是簡潔的寫法:

a++;    //相當於a=a+1
b-=3;   //相當於b=b-3
b%=c;   //相當於b=b%c

1.7 邏輯運算子

在if敘述中也會看到邏輯運算子的蹤跡
(1)「&&」表示AND,且
(2)「||」表示OR,或

a>0 && b>0    //兩個運算元皆為真,運算結果才為真
a>0 || b>0    //兩個運算元只有一個為真,運算結果就為真

1.8 括號運算子

除了前面所述的內容外,括號()也是C++的運算,如下表所列:

括號運算子 意義
() 提高括號中運算式中的優先順序

今天的內容就先到這邊~


上一篇
Day5 變數與資料處理
下一篇
Day7 運算式與運算型態的轉換
系列文
用30天學習C++30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言